package htw.renoir.vs.controller;

import java.util.ArrayList;
import java.util.List;

import htw.renoir.vs.model.User;

/**
 * Ein Singleton, der die Daten des angemeldeten Benutzers verwaltet.
 *
 */
public class UserService {
	private List<User> userList;
	private static UserService userService;
	
	private UserService() { }
	
	public static UserService getInstance() {
		if (userService == null) {
			userService = new UserService();
		}
		
		return userService;
	}
	
	/**
	 * Sucht einen registrierten User anhand der ID
	 * @return Der registrierte User oder null, falls der User mit dieser Nummer noch nicht registriert ist.
	 */
	public User getUser(String userid, String password) {
		if (userList != null) {
			for (User user: userList) {
				if (user.getUserID().equals(userid) && user.getPassword().equals(password)) {
					return user;
				}
			}
		}
		return null;
	}
	
	
	
	/**
	 * Wird aufgerufen, wenn ein User sich erfolgreich registriert hat. In diesem Fall wird der User in die Userliste
	 * eingetragen.
	 * @param user Der neue User.
	 */
	public void registerUser(User user) {
		if (user != null) {
			if (userList == null) {
				userList = new ArrayList<User>();
			}
			userList.add(user);
			System.out.println(user.getUserID().toString());
		}
	}
}
